package com.kaikeba.dao;

import com.kaikeba.bean.Courier;
import com.kaikeba.exception.DuplicateCodeException;

import java.util.List;
import java.util.Map;

public interface BaseCourierDao {

    /**
     * 获取快递员人数  与  日注册量
     * @return
     */
    List<Map<String,Integer>> console();


    /**
     * 添加一个新快递员
     * @param courier 快递员对象
     * @return true表示成功
     */
    boolean insert(Courier courier);


    /**
     *  根据快递员的电话号码，更新快递员身份信息
     * @param phoneNumber 电话号码
     * @param courier
     * @return
     */
    boolean update(String phoneNumber,Courier courier);

    /**
     *  根据快递员的电话号码，删除快递员身份信息
     * @param phoneNumber 电话号码
     * @return
     */
    boolean delete(String phoneNumber);

    /**
     *
     * @param limit 是否分页 true 表示分页
     * @param offset
     * @param pageNumber
     * @return
     */
    List<Courier> findAll(boolean limit,int offset,int pageNumber);

    /**
     *  根据快递员的电话号码，查询出该快递员的派件数量
     * @param phoneNumber
     * @return
     */
    int getSendExpressNumber(String phoneNumber);

    Courier findCourierByNumber(String phoneNumber);
}
